fulcon 
Clones a function (creates wrapper function), with the same signature as source function


compression | size |
---|
fulcon.js | 1.02 kB |
fulcon.min.js | 673 B |
fulcon.min.js.gz | 396 B |
Install
$ npm install --save fulcon
Example
var fulcon = require('fulcon');
function original(a, b, c)
{
return 42 + a + b + c;
}
assert.strictEqual(original.length, 3, 'signature of the original function has 3 arguments');
assert.strictEqual(original(1, 2, 3), 48, 'original function returns 48');
var cloned = fulcon(original);
assert.notStrictEqual(original, cloned, 'original and cloned functions are not the same function');
assert.strictEqual(cloned.length, 3, 'signature of the cloned function has 3 arguments');
assert.strictEqual(cloned(1, 2, 3), 48, 'cloned function returns 48');
Note: Beware of functions with side-effects! Cloned function calls original function under the hood, so it has same side-effects for better or for worst. Check test.js for details.
Want to Know More?
More examples can be found in test.js.
Or open an issue with questions and/or suggestions.
License
Fulcon is released under the MIT license.